package com.jianbing.north.service;

import java.util.List;

import com.jianbing.common.core.domain.AjaxResult;
import com.jianbing.north.domain.NorthUserInfo;

/**
 * 用户挑战进度表Service接口
 * 
 * @author ruoyi
 * @date 2024-06-20
 */
public interface INorthUserInfoService 
{
    /**
     * 查询用户挑战进度表
     * 
     * @param userId 用户挑战进度表主键
     * @return 用户挑战进度表
     */
    public NorthUserInfo selectNorthUserInfoByUserId(Long userId);

    /**
     * 查询用户挑战进度表列表
     * 
     * @param northUserInfo 用户挑战进度表
     * @return 用户挑战进度表集合
     */
    public List<NorthUserInfo> selectNorthUserInfoList(NorthUserInfo northUserInfo);

    /**
     * 新增用户挑战进度表
     * 
     * @param northUserInfo 用户挑战进度表
     * @return 结果
     */
    public int insertNorthUserInfo(NorthUserInfo northUserInfo);

    /**
     * 修改用户挑战进度表
     * 
     * @param northUserInfo 用户挑战进度表
     * @return 结果
     */
    public int updateNorthUserInfo(NorthUserInfo northUserInfo);

    /**
     * 批量删除用户挑战进度表
     * 
     * @param userIds 需要删除的用户挑战进度表主键集合
     * @return 结果
     */
    public int deleteNorthUserInfoByUserIds(Long[] userIds);

    /**
     * 删除用户挑战进度表信息
     * 
     * @param userId 用户挑战进度表主键
     * @return 结果
     */
    public int deleteNorthUserInfoByUserId(Long userId);

    Long getFraction(Long userId, Integer part);
}
